package issr.entity;
// Generated 27-set-2012 19.32.49 by Hibernate Tools 3.2.1.GA

import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * Lotto generated by hbm2java
 */
@Entity
@Table(name = "lotto", catalog = "issr")
public class Lotto implements java.io.Serializable {

    private Integer id;
    private Prodotto prodotto;
    private Puntovendita puntovendita;
    private int gs1barCode;
    private int quantita;
    private Date inserimento;
    private Date scadenza;

    public Lotto() {
    }

    public Lotto(Prodotto prodotto, Puntovendita puntovendita, int gs1barCode, int quantita, Date inserimento, Date scadenza) {
        this.prodotto = prodotto;
        this.puntovendita = puntovendita;
        this.gs1barCode = gs1barCode;
        this.inserimento = inserimento;
        this.scadenza = scadenza;
        this.quantita = quantita;
    }

    @Id
    @GeneratedValue(strategy = IDENTITY)
    @Column(name = "id", unique = true, nullable = false)
    public Integer getId() {
        return this.id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "tipo", nullable = false)
    public Prodotto getProdotto() {
        return this.prodotto;
    }

    public void setProdotto(Prodotto prodotto) {
        this.prodotto = prodotto;
    }

    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "magazzino", nullable = false)
    public Puntovendita getPuntovendita() {
        return this.puntovendita;
    }

    public void setPuntovendita(Puntovendita puntovendita) {
        this.puntovendita = puntovendita;
    }

    @Column(name = "gs1BarCode", nullable = false)
    public int getGs1barCode() {
        return this.gs1barCode;
    }

    public void setGs1barCode(int gs1barCode) {
        this.gs1barCode = gs1barCode;
    }

    @Temporal(TemporalType.TIMESTAMP)
    @Column(name = "inserimento", nullable = false, length = 19)
    public Date getInserimento() {
        return this.inserimento;
    }

    @Column(name = "quantita", nullable = false)
    public int getQuantita() {
        return this.quantita;
    }

    public void setQuantita(int quantita) {
        this.quantita = quantita;
    }

    public void setInserimento(Date inserimento) {
        this.inserimento = inserimento;
    }

    @Temporal(TemporalType.TIMESTAMP)
    @Column(name = "scadenza", nullable = false, length = 19)
    public Date getScadenza() {
        return this.scadenza;
    }

    public void setScadenza(Date scadenza) {
        this.scadenza = scadenza;
    }
}
